# _*_ coding=utf-8 _*_

import psutil,datetime

users =psutil.users()
boot_time =psutil.boot_time()
date ="%Y-%m-%d %H:%M:%S"
starttime =datetime.datetime.fromtimestamp(boot_time).strftime(date)
print("users",users) #当前登录用户信息
print("boot_time",boot_time)#开机时间，linux的格式
print("starttime",starttime) #记录最近一次开机时间

#内存相关信息
allMem =psutil.virtual_memory()
print ('allMem',allMem)  #内存全部数据
print ('total',allMem.total/1000/1000,"MB")
print ('free',allMem.free/1000/1000,"MB")
print ('used',allMem.used/1000/1000,"MB       " \
       "================================================================")
#cpu相关信息
cpuTime =psutil.cpu_times()
print ("cpu_time",cpuTime) #cpu全部数据

print ("cpu %",psutil.cpu_times().user) #这里取的数据还是有问题的
print ("cpu_count",psutil.cpu_count(logical=False))  #计算cpu个数

#磁盘相关信息
all_disk =psutil.disk_partitions(all=True)
disk =psutil.disk_io_counters()
disk_num =psutil.disk_io_counters(perdisk=True)
print ("all_disk",all_disk)
print ("disk",disk)
print ("disk_num",disk_num)

#网络信息
all_io =psutil.net_io_counters()

print ("all_io",all_io)

import os

# 这里代码没有使用涉及模式
num = 0
for p in psutil.process_iter():  # 遍历进程 process_iter会存在截断进程数
    num += 1
    print(p.name(), p.pid)
print("num:", num)  # 计算有多少个进程
print("======================================================")

file = psutil.Process(os.getpid()).cmdline()  # 当前进程
print(file)
print("======================================================")